package pruebas

import java.util.Date
import comunicaciones.Comunicacion
import comunicaciones.LlamadaLocal
import comunicaciones.LlamadaLargaDistancia
import comunicaciones.MensajeDeTexto
import comunicaciones.Comunicacion
import comunicaciones.Empresa
import clientes.Cliente
import comunicaciones.Llamada
import comunicaciones.Empresa

object PruebaComunicacion extends Application{
  

val llamadaLocal = new LlamadaLocal(new Date(2012, 8, 26), 1149143701, 6) 
val valorLlamadaLocal = Empresa valorComunicacion(llamadaLocal)
val llamadaLocal2 = new LlamadaLocal(new Date(2012, 8, 26), 1149143701, 4) 
val llamadaLocal3 = new LlamadaLocal(new Date(2012, 8, 24), 1149143701, 4) 
val llamadaLocal4 = new LlamadaLocal(new Date(2012, 8, 26), 1149143701, 4) 

val sms = new MensajeDeTexto(new Date(2012, 8, 26), 1149143701, 300)
val valorSMS = Empresa valorComunicacion(sms)

val llamadaLargaDistancia = new LlamadaLargaDistancia(new Date(2012, 8, 26), 1149143701, 5, "Formosa", "Chubut")
val valorLargaDistancia = Empresa valorComunicacion(llamadaLargaDistancia)
val llamadaLargaDistancia2 = new LlamadaLargaDistancia(new Date(2012, 8, 26), 1149143701, 6, "Buenos Aires", "Salta")
val llamadaLargaDistancia3 = new LlamadaLargaDistancia(new Date(2012, 8, 26), 1149143701, 8, "Formosa", "Chubut")
val llamadaLargaDistancia4 = new LlamadaLargaDistancia(new Date(2012, 8, 26), 1149143701, 9, "Buenos Aires", "Ushuaia")
val llamadaLargaDistancia5 = new LlamadaLargaDistancia(new Date(2012, 8, 26), 1149143701, 5, "Buenos Aires", "La Rioja")


val nacho = new Cliente("Nacho")
val jorge = new Cliente("Jorge")
nacho comunicarse(llamadaLocal)
nacho comunicarse(sms)
nacho.comunicarse(llamadaLocal2)
nacho.comunicarse(llamadaLocal3)
nacho.comunicarse(llamadaLocal4)
nacho.comunicarse(llamadaLargaDistancia)
nacho.comunicarse(llamadaLargaDistancia2)
nacho.comunicarse(llamadaLargaDistancia3)
nacho.comunicarse(llamadaLargaDistancia4)
nacho.comunicarse(llamadaLargaDistancia5)

var llamadas = List[Comunicacion]()
llamadas ::= llamadaLocal
llamadas ::= llamadaLargaDistancia2
llamadas ::= sms

val movistar = Empresa
movistar.agregarCliente(nacho)
movistar.agregarCliente(jorge)

//print(Empresa valorComunicacion(llamadaLocal))
//print("\n")
//print(Empresa valorComunicacion(smb.s))
//print("\n")
//print(Empresa valorComunicacion(llamadaLargaDistancia))


print(nacho.comunicaciones.head.fechaComunicacion().getDate())






}